Generating a Statically-Checkable Device Driver I/O Interface

نویسندگان

  • Lea Wittie
  • Chris Hawblitzel
  • Derrin Pierret
چکیده

Device drivers are known to be a main source of operating system bugs. Several research groups have created driver specification languages that dynamically check preand postconditions on the IO operations of a device driver. The low-level type-safe language, Clay, has the facilities to statically check the safety of a device driver but is difficult to use directly. We have created a new device driver specification language, Laddie, which compiles the IO interface of a device driver to Clay thus leveraging its static safety checking while remaining simple to use.

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Optimizing Network Virtualization in Xen

This paper reports on improvements to Xen’s networking performance resulting from the re-design and the re-implementation of certain aspects of its network virtualization and better support for advanced, hardware memory management features. Our design remains compatible with the basic Xen 2.0 architecture of locating device drivers in a privileged driver domain that has direct access to the dev...

متن کامل

Towards Virtual Passthrough I/O on Commodity Devices

A commodity I/O device has no support for virtualization. A VMM can assign such a device to a single guest with direct, fast, but insecure access by the guest’s native device driver. Alternatively, the VMM can build virtual devices on top of the physical device, allowing it to be multiplexed across VMs, but with lower performance. We propose a technique that provides an intermediate option. In ...

متن کامل

User-Guided Device Driver Synthesis

Automatic device driver synthesis is a radical approach to creating drivers faster and with fewer defects by generating them automatically based on hardware device specifications. We present the design and implementation of a new driver synthesis toolkit, called Termite-2. Termite-2 is the first tool to combine the power of automation with the flexibility of conventional development. It is also...

متن کامل

An I / O System for Mach 3

The Mach 3.0 I/O system represents a radical departure from its predecessor { Mach 2.5, which relied on the BSD Unix model of device management. The I/O interface in Mach 3.0 supports device drivers that are largely device-independent, implemented at user-level, and location-independent. Our approach to device management signiicantly reduces the size of the kernel's machine-dependent code, enab...

متن کامل

Modular Semi-automatic Formal Verification of Critical Systems Software ; Modulaire halfautomatische formele verificatie van kritische systeemsoftware

In the first part of this thesis, we present a case study on successfully verifying the Linux USB BP keyboard driver. Our verification approach is (a) sound, (b) takes into account dynamic memory allocation, complex API rules and concurrency, and (c) is applied on a real kernel driver which was not written with verification in mind. We employ VeriFast, a software verifier based on separation lo...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2007